__all__=['my_sum']  # 变量 __all__的值是一个列表,当前列表表示该模块中只有调用my_sum这个函数

def my_sum(n):
    """
    计算从0到n的数字之和
    :param n: 正整数
    :return: 数字之和
    """
    s = 0
    for i in range(n):
        s += i
    return s


def test(n: int) -> int:
    """
    计算一个数字n的阶乘
    :param n: 正整数
    :return:
    """
    if n == 1:
        return 1  # 递归函数退出的出口
    return n * test(n - 1)  # 自己调用自己


#  这样测试模块中的函数 会有一些问题
# print(my_sum(8))
# print(test(6))


# 测试以上代码的正确写法
if __name__ == '__main__':   # 判断当前py文件就是执行的入口，就执行一下的测试代码
    print(my_sum(8))
    print(test(6))